/*jshint esversion: 9 */
/**
 * 阻断式的函数节流 一篇文字
 */
//使用该方法生成一个对象，访问对象的state属性判断是否可以继续调用
export function throttleFn(wait=0) {
    let date;
    return new Proxy({},{
        get(_,key){
            if(key !== 'state') throw '只可访问 state';
            let nowDate = new Date().getTime();
            if(!date){
                date = nowDate;
                return true;
            }
            if((nowDate - date) >= wait){
                date = nowDate;
                return true;
            }
            return false;
        },
        set(){
            throw '不允许写入';
        },
    });
}